package com.ruoyi.web.wx.service.impl;

import java.util.List;

import com.ruoyi.web.wx.controller.RankingController;
import com.ruoyi.web.wx.entity.*;
import com.ruoyi.web.wx.mapper.EnvirBonusTotalMapper;
import com.ruoyi.web.wx.service.IEnvirBonusTotalService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.ruoyi.common.core.text.Convert;

/**
 * 环保金总数 服务层实现
 * 
 * @author ruoyi
 * @date 2019-08-31
 */
@Service
public class EnvirBonusTotalServiceImpl implements IEnvirBonusTotalService
{
	@Autowired
	private EnvirBonusTotalMapper envirBonusTotalMapper;

	/**
     * 查询环保金总数信息
     * 
     * @param id 环保金总数ID
     * @return 环保金总数信息
     */
    @Override
	public EnvirBonusTotal selectEnvirBonusTotalById(String id)
	{
	    return envirBonusTotalMapper.selectEnvirBonusTotalById(id);
	}
	
	/**
     * 查询环保金总数列表
     * 
     * @param envirBonusTotal 环保金总数信息
     * @return 环保金总数集合
     */
	@Override
	public List<EnvirBonusTotal> selectEnvirBonusTotalList(EnvirBonusTotal envirBonusTotal)
	{
	    return envirBonusTotalMapper.selectEnvirBonusTotalList(envirBonusTotal);
	}
	
    /**
     * 新增环保金总数
     * 
     * @param envirBonusTotal 环保金总数信息
     * @return 结果
     */
	@Override
	public int insertEnvirBonusTotal(EnvirBonusTotal envirBonusTotal)
	{
	    return envirBonusTotalMapper.insertEnvirBonusTotal(envirBonusTotal);
	}
	
	/**
     * 修改环保金总数
     * 
     * @param envirBonusTotal 环保金总数信息
     * @return 结果
     */
	@Override
	public int updateEnvirBonusTotal(EnvirBonusTotal envirBonusTotal)
	{
	    return envirBonusTotalMapper.updateEnvirBonusTotal(envirBonusTotal);
	}

	/**
     * 删除环保金总数对象
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
	@Override
	public int deleteEnvirBonusTotalByIds(String ids)
	{
		return envirBonusTotalMapper.deleteEnvirBonusTotalByIds(Convert.toStrArray(ids));
	}

    @Override
    public Rank getRankList(WxUser wxUser) {
		Rank rank= new Rank();
		String id = wxUser.getId();
		//所有排名信息
		List<RankVO > rankVOS = envirBonusTotalMapper.getRankList();
		if (rankVOS!=null&&rankVOS.size()>0){
			for (RankVO rankVO : rankVOS) {
				if (rankVO.getWxUserId().equals(id)){
					rank.setUserName(rankVO.getName());
					rank.setRanking(rankVO.getRowNum());
				}
			}
			rank.setUserName(wxUser.getRealName());
			rank.setRankingList(rankVOS);
			return rank ;
		}else {
			rank.setUserName(wxUser.getRealName());
			rank.setRanking(1);
			return rank;
		}
    }

}
